log4js 配置

使用 Node.js 编写后端程序,为了调试、debugger代码,当然少不了日志,log4js 是一个很好的日志管理工具,下面记录它的配置

安装

1
npm install log4js --save

编写配置文件

创建 logs 文件夹,添加 log_config.json 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
{
"appenders": {
"console": {
"type": "console",
"category": "console"
},
"info": {
"category": "log_info",
"type": "dateFile", // 可以设置成 console、file、dateFile三种
"filename": "./logs/info/info_file", // 设置 log 输出的文件路径
"pattern": "yyyy-MM-dd.log", // 设置 log 输出的文件名
"alwaysIncludePattern": true, // 和上面同时使用 设置每天生成log名
"backups": 4, // 仅保留最新的四个日志文件
"maxLogSize ": 10000000, // 设置文件大小
"encoding": "utf-8" // 设置文件编码格式
},
"error": {
"category": "log_error",
"type": "dateFile",
"filename": "./logs/error/error_file",
"pattern": "yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"backups": 4,
"maxLogSize ": 10000000,
"encoding": "utf-8"
},
"minError": {
"type": "logLevelFilter",
"appender": "error",
"level": "error" // 设置log输出的最低级别
},
"debug": {
"category": "log_debug",
"type": "dateFile",
"filename": "./logs/debug/debug_file",
"pattern": "yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"backups": 4,
"maxLogSize ": 10000000,
"encoding": "utf-8"
},
"maxDebug": {
"type": "logLevelFilter",
"appender": "debug",
"level": "debug",
"maxLevel": "debug" // 设置log输出的最高级别
// log级别为8级 ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<MARK<OFF。默认级别是 OFF
},
"trace": {
"category": "log_trace",
"type": "dateFile",
"filename": "./logs/trace/trace_file",
"pattern": "yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"backups": 4,
"maxLogSize ": 10000000,
"encoding": "utf-8"
},
"maxTrace": {
"type": "logLevelFilter",
"appender": "trace",
"level": "trace",
"maxLevel": "trace"
}
},
"categories": {
"default": {
"appenders": [
"console",
"info",
"minError",
"maxDebug",
"maxTrace"
],
"level": "ALL"
}
},
"replaceConsole": true
}

使用

在后端执行文件中,添加启动日志服务代码

1
2
3
4
5
6
7
const log4js = require("log4js");
const log4js_config = require("../logs/log_config.json");
log4js.configure(log4js_config);
global.log = log4js.getLogger("wei");

// 使用
global.log.info('---开始listen in localhost:' + config.port);

随后在 logs 文件夹中,可以看到各分类文件夹及相关文件

如果仅在为了调试,可以使用 console.log 进行输出数据查看

image-20200426171054080